package com.nbgroup.service;

import com.nbgroup.pojo.common.PageBean;
import com.nbgroup.pojo.common.PageResult;
import com.nbgroup.pojo.dto.*;
import com.nbgroup.pojo.vo.*;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDate;
import java.util.List;

public interface StatementService {
    //新增客户
    ClientStatementVo clientStatement(@DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate begin,
                                      @DateTimeFormat(pattern = "yyyy-MM-dd") LocalDate end);

    //销售统计
    ClientStatementVo salesStatistics(LocalDate begin, LocalDate end);


    //线索统计
    ClientStatementVo cluesStatistics(LocalDate begin, LocalDate end);

    //线索转化率
    CluePercentVo getVulnerabilityMap(LocalDate begin, LocalDate end);

    //渠道统计
    List<ChanelStatisticsVo> chanelStatistics(LocalDate begin, LocalDate end);

    //活动统计
    List<ActivityStatisticsVo> activityStatistics(LocalDate begin, LocalDate end);

    //学科统计
    List<SubjectStatisticsVo> subjectStatistics(LocalDate begin, LocalDate end);

    /**
     * 部门渠道统计
     */
    PageResult queryCon(DeptListDto dto, LocalDate begin, LocalDate end);


    /***
     * 渠道统计
     * @param begin
     * @param end
     * @return
     */
    PageResult queryChan(DeptListDto dto, LocalDate begin, LocalDate end);

    /**
     * 归属人
     *
     * @param begin
     * @param end
     * @return
     */
    PageResult queryPeople(DeptListDto dto, LocalDate begin, LocalDate end);

    //活动统计分页
    PageResult activityStatisticsList(PageActivityStatisticsListDTO pageDto);
    //查询所有线索
    PageBean cluesStatisticsList(PageCluesStatisticsDTO pageDto);

    PageBean pageQuery(PageContractStatisticsDTO pageDto);



}
